package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 酒店预约管理对象 lhk_reservation
 * 
 * @author fzb
 * @date 2025-05-29
 */
public class LhkReservation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 预约id */
    private Long reservationId;

    /** 客户id */
    @Excel(name = "客户id")
    private Long customerId;

    /** 酒店id */
    @Excel(name = "酒店id")
    private Long hotelId;

    /** 房间id */
    @Excel(name = "房间id")
    private Long roomId;

    /** 入住时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "入住时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkinDate;

    /** 退房时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "退房时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkoutDate;

    /** 预定房间数量 */
    @Excel(name = "预定房间数量")
    private Long roomCount;

    /** 入住人数 */
    @Excel(name = "入住人数")
    private Long guestCount;

    /** 状态 */
    @Excel(name = "状态")
    private Long status;

    /** 管理员id */
    @Excel(name = "管理员id")
    private Long managerId;

    /** 订单id */
    @Excel(name = "订单id")
    private Long dingdanId;

    @Excel(name = "房间")
    private LhkRoom lhkRoom;

    @Excel(name = "用户")
    private SysUser sysUser;

    private LhkRenzheng lhkRenzheng;

    private String realName;

    private Long typeId;

    public Long getTypeId() {
        return typeId;
    }

    public void setTypeId(Long typeId) {
        this.typeId = typeId;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public LhkRenzheng getLhkRenzheng() {
        return lhkRenzheng;
    }

    public void setLhkRenzheng(LhkRenzheng lhkRenzheng) {
        this.lhkRenzheng = lhkRenzheng;
    }

    public SysUser getSysUser() {
        return sysUser;
    }

    public LhkRoom getLhkRoom() {
        return lhkRoom;
    }

    public void setLhkRoom(LhkRoom lhkRoom) {
        this.lhkRoom = lhkRoom;
    }

    public void setSysUser(SysUser sysUser) {
        this.sysUser = sysUser;
    }

    public void setReservationId(Long reservationId)
    {
        this.reservationId = reservationId;
    }

    public Long getReservationId() 
    {
        return reservationId;
    }

    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }

    public void setHotelId(Long hotelId) 
    {
        this.hotelId = hotelId;
    }

    public Long getHotelId() 
    {
        return hotelId;
    }

    public void setRoomId(Long roomId) 
    {
        this.roomId = roomId;
    }

    public Long getRoomId() 
    {
        return roomId;
    }

    public void setCheckinDate(Date checkinDate) 
    {
        this.checkinDate = checkinDate;
    }

    public Date getCheckinDate() 
    {
        return checkinDate;
    }

    public void setCheckoutDate(Date checkoutDate) 
    {
        this.checkoutDate = checkoutDate;
    }

    public Date getCheckoutDate() 
    {
        return checkoutDate;
    }

    public void setRoomCount(Long roomCount) 
    {
        this.roomCount = roomCount;
    }

    public Long getRoomCount() 
    {
        return roomCount;
    }

    public void setGuestCount(Long guestCount) 
    {
        this.guestCount = guestCount;
    }

    public Long getGuestCount() 
    {
        return guestCount;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public void setManagerId(Long managerId) 
    {
        this.managerId = managerId;
    }

    public Long getManagerId() 
    {
        return managerId;
    }

    public void setDingdanId(Long dingdanId) 
    {
        this.dingdanId = dingdanId;
    }

    public Long getDingdanId() 
    {
        return dingdanId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("reservationId", getReservationId())
            .append("customerId", getCustomerId())
            .append("hotelId", getHotelId())
            .append("roomId", getRoomId())
            .append("checkinDate", getCheckinDate())
            .append("checkoutDate", getCheckoutDate())
            .append("roomCount", getRoomCount())
            .append("guestCount", getGuestCount())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("managerId", getManagerId())
            .append("dingdanId", getDingdanId())
            .append("sysUser",getSysUser())
            .append("lhkRoom",getLhkRoom())
            .append("lhkRenzheng",getLhkRenzheng())
            .append("typeId",getTypeId())
            .toString();
    }
}
